13. DH Parameter Assignment Algorithm

DH Parameter Assignment Algorithm

The last lesson attempted to explain the theory and motivation behind DH parameters. Now the focus is on how to algorithmically assign reference frames to the manipulator’s links. Keep in mind that frame i is rigidly attached to link i. For convenience, the supporting figure is repeated here.

The parameter assignment process for open kinematic chains with n degrees of freedom (i.e., joints) is summarized as:

  1. Label all joints from {1, 2, … , n}.

  2. Label all links from {0, 1, …, n} starting with the fixed base link as 0.

  3. Draw lines through all joints, defining the joint axes.

  4. Assign the Z-axis of each frame to point along its joint axis.

  5. Identify the common normal between each frame \hat{Z}{i-1} and frame \hat{Z}{i} .

  6. The endpoints of "intermediate links" (i.e., not the base link or the end effector) are associated with two joint axes, {i} and {i+1}. For i from 1 to n-1, assign the \hat{X}_{i} to be …

    • For skew axes, along the normal between \hat{Z}{i} and \hat{Z}{i+1} and pointing from {i} to {i+1}.

    • For intersecting axes, normal to the plane containing \hat{Z}{i} and \hat{Z}{i+1}.

    • For parallel or coincident axes, the assignment is arbitrary; look for ways to make other DH parameters equal to zero.

  7. For the base link, always choose frame {0} to be coincident with frame {1} when the first joint variable ( {\theta}{1} or {d}{1}) is equal to zero. This will guarantee that {\alpha}{0} = {a}{0} = 0, and, if joint 1 is a revolute, {d}{1} = 0. If joint 1 is prismatic, then {\theta}{1}= 0.

  8. For the end effector frame, if joint n is revolute, choose {X}{n} to be in the direction of {X}{n-1} when {\theta}{n} = 0 and the origin of frame {n} such that {d}{n} = 0.

Once the frame assignments are made, the DH parameters are typically presented in tabular form (below). Each row in the table corresponds to the transform from frame {i} to frame {i+1}.

DH Parameters table

DH Parameters table

To help you with the upcoming assignments, we summarize some of the DH parameter simplifications to look for when choosing frame assignments.

  • Special cases involving the \hat{Z}{i-1} to \hat{Z}{i} axes:

    • collinear lines: alpha = 0 and a = 0

    • parallel lines: alpha = 0 and a \neq 0

    • intersecting lines: alpha \neq 0 and a = 0

    • If the common normal intersects \hat{Z}{i} at the origin of frame i, then {d}{i} is zero

We mentioned in the last lesson that various authors have proposed multiple conventions for assigning DH parameters. Even if two analysts use the same convention, there is no guarantee that it will result in an identical assignment of frames to links. However, if the same base frame and same point is chosen as the origin of frame n, the overall transform from 0 to n would be the same regardless of what convention was used.